from wechat_cloud_base import CloudBase
import json
import os

# 初始化云托管客户端
cloud = CloudBase({
  'env': os.environ.get("CLOUD_ENV_ID", ""),  # 从环境变量获取环境ID
  'appid': os.environ.get("CLOUD_APPID", ""),  # 从环境变量获取小程序appid
  'secret': os.environ.get("CLOUD_SECRET", "")  # 从环境变量获取小程序appsecret
})

# 获取对象存储客户端
storage = cloud.getStorage()

def handle_image(event, context):
    # 获取前端传递的fileID
    file_id = event['fileID']
    
    # 从对象存储中读取图片
    image_data = storage.get_file(file_id)
    
    # 处理图片，例如使用PIL库进行处理
    from PIL import Image
    import io
    
    # 将图片数据转换为Image对象
    image = Image.open(io.BytesIO(image_data))
    
    # 对图片进行处理，例如转换为WEBP格式
    output = io.BytesIO()
    image.save(output, format='WEBP')
    processed_image_data = output.getvalue()
    
    # 将处理后的图片保存回对象存储
    new_file_id = storage.put_file('processed-image.webp', processed_image_data)
    
    # 返回处理后的图片fileID
    return {
        'statusCode': 200,
        'headers': {
            'Content-Type': 'application/json'
        },
        'body': json.dumps({
            'processedFileID': new_file_id
        })
    }
